package com.icloud.wallet.boot.dto;

import com.icloud.common.core.constant.ValidateConstant;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.math.BigDecimal;

@Data
public class WithdrawOrderDto implements Serializable {
    @ApiModelProperty(value="前台客户Id", required = true)
    @NotNull(message = ValidateConstant.NOT_NULL)
    private Long customerId;

    @NotEmpty(message = ValidateConstant.NOT_EMPTY)
    @ApiModelProperty(value="提现币种", allowableValues = "BCPC_BEP20", required = true)
    private String cryptoCurrency;

    @ApiModelProperty(value = "提现地址", required = true)
    @NotEmpty(message = ValidateConstant.NOT_EMPTY)
    private String address;

    @ApiModelProperty(value = "提现金额", required = true)
    @NotNull(message = ValidateConstant.NOT_NULL)
    private BigDecimal withdrawAmount;

    @ApiModelProperty(value = "日提现上限(可提现余额)", required = true)
    @NotNull(message = ValidateConstant.NOT_NULL)
    private BigDecimal withdrawable;

    @NotNull(message = ValidateConstant.NOT_NULL)
    @ApiModelProperty(value = "实际到账", required = true)
    private BigDecimal amount;

    @NotNull(message = ValidateConstant.NOT_NULL)
    @ApiModelProperty(value = "提现手续费", required = true)
    private BigDecimal charge;

    @ApiModelProperty(value = "下单时间")
    private Long orderTime;
}
